/**
 * 
 */
package co.gov.medellin.sdep.sisdep.model.comp;

import java.io.Serializable;
import java.util.Date;

import co.gov.medellin.sdep.sisdep.common.dto.ValueObjectDTO;
import co.gov.medellin.sdep.sisdep.model.Persona;
import co.gov.medellin.sdep.sisdep.model.Solicitud;

/**
 * @author Usuario
 *
 */
public class SolicitudComp extends Solicitud implements Serializable {

	/**
	 * default serial version
	 */
	private static final long serialVersionUID = 1L;
	/** */
	private Persona persona = new Persona();
	/** */
	private ValueObjectDTO tipoIdentificacion = new ValueObjectDTO();
	/** */
	private ValueObjectDTO tipoSolicitud = new ValueObjectDTO();
	/** */
	private ValueObjectDTO idArea = new ValueObjectDTO();
	/** */
	private Date fechaAsignacion = new Date();
	/** */
	private long diasEnProgreso = 0;

	private String opcion = "R";
	
	/**
	 * default constructor
	 */
	public SolicitudComp() {
	}

	public Persona getPersona() {
		return persona;
	}

	public void setPersona(Persona persona) {
		this.persona = persona;
	}

	public ValueObjectDTO getTipoIdentificacion() {
		return tipoIdentificacion;
	}

	public void setTipoIdentificacion(ValueObjectDTO tipoIdentificacion) {
		this.tipoIdentificacion = tipoIdentificacion;
	}

	public ValueObjectDTO getTipoSolicitud() {
		return tipoSolicitud;
	}

	public void setTipoSolicitud(ValueObjectDTO tipoSolicitud) {
		this.tipoSolicitud = tipoSolicitud;
	}

	public String getOpcion() {
		return opcion;
	}

	public void setOpcion(String opcion) {
		this.opcion = opcion;
	}

	public ValueObjectDTO getIdArea() {
		return idArea;
	}

	public void setIdArea(ValueObjectDTO idArea) {
		this.idArea = idArea;
	}

	public Date getFechaAsignacion() {
		return fechaAsignacion;
	}

	public void setFechaAsignacion(Date fechaAsignacion) {
		this.fechaAsignacion = fechaAsignacion;
	}

	public long getDiasEnProgreso() {
		 /** dia en el cual se ingresa la solicitud */
	    Date fechaIngreso = getFechaRadicado();
	    /** fecha actual */
	    Date fechaActual = new Date();
	    /** diferencia en msec para cada uno y resta */
	    long diff = fechaActual.getTime() - fechaIngreso.getTime();
		this.diasEnProgreso = (diff / (1000 * 60 * 60 * 24));
		return diasEnProgreso;
	}

	public void setDiasEnProgreso(long diasEnProgreso) {
		this.diasEnProgreso = diasEnProgreso;
	}

}
